import java.util.List;


public abstract class Peca {
	private Cor cor;
	private Posicao posicao;
	private List<Posicao> posicoes;
	
	public Peca(Cor cor, Posicao posicao) {
		this.setCor(cor);
	}
	public void setCor(Cor cor) {
		this.cor = cor;
	}
	public Cor getCor() {
		return cor;
	}
	public void setPosicao(Posicao posicao) {
		this.posicao = posicao;
	}
	public Posicao getPosicao() {
		return posicao;
	}
	public void setPosicoes(List<Posicao> posicoes) {
		this.posicoes = posicoes;
	}
	public List<Posicao> getPosicoes() {
		return posicoes;
	}
	
	public boolean isMovimentoValido(Posicao destino){
		return posicoes.contains(destino);
	}
	
	public abstract boolean jogar(Posicao origem,Posicao destino) ;
	
}
